package com.patentbackend.patentmanage.dto;



import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 部门数据传输对象，用于前后端数据交互
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DepartmentDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;

    @NotBlank(message = "部门名称不能为空")
    @Size(max = 50, message = "部门名称长度不能超过50个字符")
    private String name;

    @Size(max = 200, message = "部门描述长度不能超过200个字符")
    private String description;

    private String leader;

    private Integer patentCount; // 部门专利数量统计
    private Integer activePatentCount; // 有效专利数量
    private Integer pendingPatentCount; // 待审专利数量
    private String contactPerson;
    private String contactEmail;
    private String Introduction;
    private String contactPhone;
    // 部门状态：ACTIVE-活跃，INACTIVE-不活跃，DISABLED-已禁用
    private String status;
}